/*
@description: 这里是从表格列变换到表单的一些工具
*/
import {Message} from 'element-ui'

// 使用表格列初始化表单绑定对象
// 这里会给model一个初始值
//2018年9月15日 胡杨升 把指定值修改为小写,如Date->date
//2018年10月16日 胡杨升 添加了default属性支持，用来指定默认值
const formModelInitFromTable = (tableColumns)=>{
  var ret = {};
  tableColumns.forEach((col) => {
    if(col.type=== "date") {
      ret[col.prop] = (typeof col.default !== 'undefined')?(col.default):(null);// 默认值改为毫秒数
    }else if(col.type === "boolean"){
      ret[col.prop] = (typeof col.default !== 'undefined')?(col.default):false;
    }else if(col.type==="number") {
      ret[col.prop] = (typeof col.default !== 'undefined')?(col.default):-888;
    }else if(col.type==="daterange"){
      ret[col.prop] = (typeof col.default !== 'undefined')?(col.default):[new Date(), new Date()];
    }else {
      ret[col.prop] = (typeof col.default !== 'undefined')?(col.default):"";
    }
  });
  console.log(ret);
  return ret;
}

// 使用表格列初始化表单验证规则
// 在表格列中添加rules:Array属性来为每一个字段指定需要检验的规则，详见http://element-cn.eleme.io/#/zh-CN/component/form，表单验证
const formRulesInitFromTable = (tableColumns)=> {
  var ret = {};
  tableColumns.forEach((col)=>{
    if(col.rules && col.rules instanceof Array) {
      ret[col.prop] = col.rules;
    }
  });

  return ret;
};

export {formModelInitFromTable, formRulesInitFromTable};
